Add a mnemonic testcase
authorMatthias Clasen <mclasen@redhat.com>
Tue, 15 Jun 2021 17:32:31 +0000 (13:32 -0400)
committerMatthias Clasen <mclasen@redhat.com>
Tue, 15 Jun 2021 17:32:31 +0000 (13:32 -0400)
Add a testcase that tests the label mnemonic handling
that was fixed in the previous commit.

testsuite/gtk/label.c

index c075e151394678e7c4fbafab3775791252494a28..3b1531a36b580cb8f1fb7b5e96141fdd76812aa9 100644 (file)
@@ -196,12 +196,35 @@ test_label_markup (void)
   gtk_window_destroy (GTK_WINDOW (window));
 }
 
+static void
+test_label_underline (void)
+{
+  GtkWidget *window;
+  GtkWidget *label;
+
+  window = gtk_window_new ();
+
+  label = gtk_label_new ("");
+
+  gtk_window_set_child (GTK_WINDOW (window), label);
+  gtk_window_set_mnemonics_visible (GTK_WINDOW (window), TRUE);
+
+  gtk_label_set_use_markup (GTK_LABEL (label), FALSE);
+  gtk_label_set_use_underline (GTK_LABEL (label), TRUE);
+  gtk_label_set_label (GTK_LABEL (label), "tes_t & no markup <<");
+
+  g_assert_cmpint (gtk_label_get_mnemonic_keyval (GTK_LABEL (label)), ==, GDK_KEY_t);
+
+  gtk_window_destroy (GTK_WINDOW (window));
+}
+
 int
 main (int argc, char *argv[])
 {
   gtk_test_init (&argc, &argv);
 
   g_test_add_func ("/label/markup-parse", test_label_markup);
+  g_test_add_func ("/label/underline-parse", test_label_underline);
 
   return g_test_run ();
 }